#pragma once
#include "Comm.h"
#include "Buffer.h"

namespace COMM
{
	class COMM_API CodecUTF8
	{
	public:
		static void UTF8_GB2312(const String& utf8, String& gb2312);
		static void GB2312_UTF8(const String& gb2312, String& utf8);
#ifdef COMM_MSVC
		static void UTF8_UNICODE(const String& utf8, Buffer& unicode);
		static void GB2312_UNICODE(const String& gb2312, Buffer& unicode);
		static void UNICODE_UTF8(const Buffer& unicode,String& utf8);
		static void UNICODE_GB2312(const Buffer& unicode, String& gb2312);
#endif

		static String FromGB2312(const char* gb2312);
		static String ToGB2312(const char* utf8);
	};

}


